#!/usr/bin/env python
# coding: utf-8

# In[1]:#导入模块


import serial 
portx="COM6"
#portx="/dev/ttyUSB0"
  #波特率，标准值之一：50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200
bps=115200
#超时设置,None：永远等待操作，0为立即返回请求结果，其他值为等待超时时间(单位为秒）
timex=3
# 打开串口，并得到串口对象
ser=serial.Serial(portx,bps,timeout=timex)


# In[2]:#写AT指令


result=ser.write("AT+GMR\r\n".encode("utf-8"))
print("写总字节数:",result)


# print(ser.read())#读一个字节
# print(ser.read(10).decode("gbk"))#读十个字节
# print(ser.readline().decode("gbk"))#读一行
# print(ser.readlines())#读取多行，返回列表，必须匹配超时（timeout)使用
# print(ser.in_waiting)#获取输入缓冲区的剩余字节数
# print(ser.out_waiting)#获取输出缓冲区的字节数
# [参考链接](https://blog.csdn.net/xuzhexing/article/details/91043579)

# In[3]:读所有到str中


#read to a str
if ser.in_waiting:
    str=ser.read(ser.in_waiting ).decode("utf-8")
    if(str=="exit"):#退出标志
        pass
    else:
        print(str)


# In[4]:#读取多行，返回列表，


#read to a list,wait @timex secind
a=ser.readlines()
a


# In[5]:


ser.close()

